#include <iostream>
#include <unistd.h>

#include "apidemo.h"

int main(void)
{
    std::cerr << "startup..." << std::endl;
    std::string host = "172.18.118.28";
    short port = 8848;
    JzAGVApi *api = new JzAGVApi(host, port);
    if (api->Connect() < 0)
    {
        return -1;
    }

    // 根据机器人ID获取机器人信息
    std::vector<unsigned int> ids;
    ids.push_back(1);
    ids.push_back(2);
    api->GetRobots(ids);

    // 创建任务
    std::string uuid("x-x-x-x");
    int mid = api->CreateMission(uuid);

    // 根据任务ID获取任务信息
    if (mid > 0)
    {
        api->GetMission(mid);
    }

    // 根据uuid获取任务信息
    // 只有当创建任务的时候指定了ref_uuid,则可以根据uuid查询任务信息
    api->GetMissionByUUID(uuid);

    // 根据任务ID或者UUID，下发指令(如取消任务)
    int cmd_id = api->CancelMission(uuid);

    // 根据下发指令响应中的指令ID查询指令执行结果
    if (cmd_id > 0)
    {
        api->CheckIfCanceled(cmd_id);
    }

    delete api;
    std::cerr << "bye..." << std::endl;
    return 0;
}
